<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      div {
        width: 100px;
        height: 100px;
        border: 20px solid red;
        padding: 20px;
        margin: 30px;

        box-sizing: border-box;
      }
    </style>
  </head>
  <body>
    <div></div>
    <span>22</span>
    <!-- 
    盒模型都是由四个部分组成的，分别是margin、border、padding和content。

    标准盒模型和IE盒模型的区别在于设置width和height时，所对应的范围不同：

    标准盒模型的width和height属性的范围只包含了content，

    IE盒模型的width和height属性的范围包含了border、padding和content。

    可以通过修改元素的box-sizing属性来改变元素的盒模型：

    box-sizing: content-box表示标准盒模型（默认值）

    box-sizing: border-box表示IE盒模型（怪异盒模型）

    -->
    <!-- 
    ‌定义和包含的属性‌：
    ‌offsetWidth‌：包括元素的宽度、内边距（padding）和边框（border）。
    具体来说，offsetWidth = 宽度（样式中设置的）+ 左右padding + 左右border。
    ‌clientWidth‌：只包括元素的实际内容宽度和内边距，不包括边框。
    clientWidth = 宽度（样式中设置的）+ 左右padding。
    -->
  </body>
  <script>
    let div = document.querySelector("div");
    console.log(div.offsetWidth); //
    console.log(div.clientWidth); //
    console.log(div.offsetHeight); //
    console.log(div.scrollWidth); //
    console.log(div.scrollHeight); //
    console.log(div.scrollLeft); //
    console.log(div.scrollTop); //
  </script>
</html>
